﻿//-----------------------------------------------------------------------------------------------------------
// Wbfs Engine (WBFSe) Project by Omega Frost 
// http://wbfse.codeplex.com/
//
// WBFSe is Licensed under the terms of the 
// Microsoft Reciprocal License (Ms-RL)
//-----------------------------------------------------------------------------------------------------------
using System;

namespace WBFSe.Attributes
{
    /// <summary>
    /// Information about splitting options of a format
    /// </summary>
    public class SplitInfo
    {
        // Variables

        private SplitMode mode;
        private Int32 max;
        private Int32 min;

        // Properties

        /// <summary>
        /// Default split mode: None
        /// </summary>
        public static SplitInfo None
        {
            get { return new SplitInfo(SplitMode.None, 0, 0); }
        }

        /// <summary>
        /// Split mode
        /// </summary>
        public SplitMode Mode
        {
            get { return this.mode; }
        }

        /// <summary>
        /// Upper bound for split, based on mode
        /// </summary>
        public Int32 Max
        {
            get { return this.max; }
        }

        /// <summary>
        /// Lower bound for split, based on mode
        /// </summary>
        public Int32 Min
        {
            get { return this.max; }
        }

        // Methods

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="mode">Split mode</param>
        /// <param name="max">Upper bound for split, based on mode</param>
        /// <param name="min">Lower bound for split, based on mode</param>
        public SplitInfo(SplitMode mode, int max, int min)
        {
            this.mode = mode;
            this.max = max;
            this.min = min;
        }
    }
}
